package com.jic.market.request.rest.goods;

import com.jic.common.base.vo.AdminOperate;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotEmpty;
import java.io.Serializable;
import java.math.BigDecimal;

/**
 * 商品
 * @author :
 * @email : 
 * @since : 2020-03-19 03:15:07
 * @version : v1.0.0
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@ApiModel("商品数据同步-请求参数")
public class GoodsRestRequest {

    @ApiModelProperty(notes = "商品数据类型 1 SPU商品 2 SKU商品")
    @NotEmpty(message = "缺少 商品数据类型 参数")
    private String type;

    @ApiModelProperty(notes = "第三方商家编码")
    @NotEmpty(message = "缺少 第三方商家编码 参数")
    private String thirdMerchantCode ;

    @ApiModelProperty(notes = "第三方店铺编码")
    @NotEmpty(message = "缺少 第三方店铺编码 参数")
    private String thirdStoreCode ;

    @ApiModelProperty(notes = "第三方商品SPU")
    @NotEmpty(message = "缺少 第三方商品SPU 参数")
    private String thirdSpuId;

    @ApiModelProperty(notes = "第三方商品SKU （SKU商品必传）")
    @NotEmpty(message = "缺少 第三方商品SKU 参数")
    private String thirdSkuId;

    @ApiModelProperty(notes = "商品名称")
    @NotEmpty(message = "缺少 商品名称 参数")
    private String goodsName;

    @ApiModelProperty(notes = "商品类目")
    @NotEmpty(message = "缺少 商品类目 参数")
    private String goodsCategory;

    @ApiModelProperty(notes = "计量单位")
    @NotEmpty(message = "缺少 计量单位 参数")
    private String measureUnit;

    @ApiModelProperty(notes = "价格范围 SPU字段（SPU商品必传）")
    @NotEmpty(message = "缺少 价格范围 参数")
    private String salePriceScope;

    @ApiModelProperty(notes = "价格 SKU字段（SKU商品必传）")
    @NotEmpty(message = "缺少 价格 参数")
    private BigDecimal salePrice;

    @ApiModelProperty(notes = "库存")
    @NotEmpty(message = "缺少 库存 参数")
    private Integer stock;

    @ApiModelProperty(notes = "货品规格")
    @NotEmpty(message = "缺少 货品规格 参数")
    private String goodsAttributes;

    @ApiModelProperty(notes = "商品状态，上架，下架")
    @NotEmpty(message = "缺少 商品状态 参数")
    private Integer goodsStatus;

//    private AdminOperate adminOperate;
}